/************************************************************************

								Heroes IV
					  Copyright 2000, The 3DO Company

	------------------------------------------------------------------
  						       summon_obstacle.h

	$Header: /game/summon_obstacle.h $

	$NoKeywords: $

 ************************************************************************/

#ifndef SUMMON_OBSTACLE_H_INCLUDED
#define SUMMON_OBSTACLE_H_INCLUDED

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "combat_spell_cell_target.h"

// -------------------------------------------------------------------
// spell to summon an obstacle
// -------------------------------------------------------------------
class t_summon_obstacle : public t_combat_spell_cell_target
{
public:
	t_summon_obstacle( t_battlefield& battlefield, t_spell spell );

	virtual void            execute( t_combat_creature& caster );
	virtual t_combat_ai_action_list generate_combat_ai_action_list(t_combat_ai &owner);
	virtual double					get_cancel_weight( t_combat_creature const& target ) const;
protected:
	virtual bool can_cast_here( t_map_point_2d const& square, 
		                        std::string* help_text ) const;
	virtual int  get_footprint_size() const;
};

#endif // SUMMON_OBSTACLE_H_INCLUDED